﻿using System;
using System.Linq;
using Dm.Domain.Entities;
using Dm.Domain.Repository.RepositoryBase;
using System.Collections.Generic;
namespace Dm.Domain.Repository.EntityRepositories
{
    public interface IStudentRepository : IRepositoryBase<Student>
    {
        List<Student> RetrieveAll(bool includeInactive);
        List<Student> SearchAllParameter(string firstName, string middleName, string lastName, string studentNumber, string email, string contactNumber, string address,bool includeInactive = false);
        List<Student> SearchByName(string firstName, string middleName, string lastName);



        Student RetrieveWithDetails(int id, bool includeAddress= false, bool includeStatus = false);

        List<Student> PagedSearch(int page, int rows, string firstName, string middleName, string lastName, string sidx, string sord, out int totalRows, bool includeInactive = false);
    }
}
